Альтернативные состояния
Описание
Альтернативные состояния можно использовать для выполнения сравнительного анализа между наборами из нескольких элементов данных, например для выполнения анализа корзины. В состоянии сохраняется набор выбранных параметров.
Разработчик QlikView может создать несколько состояний в документе QlikView и назначить их определенным объектам в этом документе. Конечный пользователь может создать копии этих объектов (объекты на сервере) и задать для них разные состояния.
Основное различие между отделением и альтернативными состояниями заключается в том, что ВСЕ объекты в заданном состоянии соответствуют пользовательским выборкам, выполненным в этом состоянии. Пользовательские выборки в других состояниях не затрагивают объекты в данном состоянии.
Функция альтернативных состояний недоступна в скрипте load.
Настройка альтернативных состояний
Чтобы включить и настроить альтернативные состояния, выполните следующие действия.
- Щелкните Альтернативные состояния... на вкладке Свойства документа: Общие.
Откроется диалоговое окно Альтернативные состояния. - Нажмите кнопку Добавить..., чтобы создать несколько состояний, и укажите их имя. Эти имена будут называться идентификаторами состояния.
- Чтобы закрыть диалоговое окно, нажмите ОК.
Теперь разработчики QlikView могут создавать альтернативные состояния из экранных объектов.
Конечные пользователи, имеющие доступ к документам QlikView с сервера QlikView, могут использовать альтернативные состояния, но не могут создавать их
Назначение состояний для объектов
Чтобы назначить состояние для объекта, выполните следующие действия:
- Откройте диалоговое окно Свойства и выберите вкладку Общие.
- Задайте Альтернативное состояние для идентификатора состояния, которое необходимо использовать для объекта.
Теперь объект станет независим от остальной части документа с точки зрения выбора, если только для других объектов не будет задано то же самое состояние.
Всегда доступны два состояния: состояние по умолчанию и унаследованное. Состояние по умолчанию — это состояние, в котором QlikView чаще всего используется, и оно обозначено $. Документ QlikView всегда находится в состоянии по умолчанию. Объекты могут наследовать состояния от объектов более высокого уровня, таких как листы и контейнеры. Это означает, что состояния наследуются следующим образом: документ — лист — объекты листа. Листы и объекты листа всегда находятся в состоянии унаследовано, если это не переопределено разработчиком QlikView.
Сравнение альтернативных состояний
Можно сравнить два состояния одного и того же объекта. Например, можно создать линейный график, чтобы отобразить оба состояния данных по той же оси, назначив состояние в выражении с помощью функции анализа множеств.
Пример:
Если определены состояния Group1 и Group2, можно сравнить средние значения поля Adj.Close для групп путем отображения двух выражений на линейном графике:
Avg({[Group1]} [Adj.Close])
Avg({[Group2]} [Adj.Close])
Поведение логики при использовании альтернативных состояний
Нажатие кнопки Очистить влияет на все состояния.
В подключаемом модуле Internet Explorer в раскрывающееся меню была добавлена кнопка Очистить, которая позволяет пользователю очистить выборки определенного состояния. Данное меню недоступно в клиенте Ajax, однако ту же самую функцию можно достичь путем создания кнопки действия, соединенной с действием «Очистить» с определенным состоянием.
Нажатие кнопок Назад и Вперед влияет на все состояния. Механизм перехода вперед-назад между определенными состояниями отсутствует.
Нажатие кнопок Заблокировать и Разблокировать влияет на все состояния. С помощью этих кнопок невозможно заблокировать и разблокировать какие-то отдельные состояния. Можно заблокировать определенные поля в состояниях, используя контекстное меню в окнах списков в определенном состоянии.
Элементы в меню Выборки применяются ко всем состояниям. Механизма воздействия на определенные состояния с помощью этого меню не существует.
Альтернативные состояния могут использоваться со связанными объектами. Состояние применяется ко всем экземплярам объекта. Изменение состояния связанного объекта приведет к помещению других связанных объектов в это же состояние.
Можно установить выполнение действий в различных состояниях. Одним единственным исключением является действие Запуск макроса. Может быть установлено его выполнение в определенном состоянии; однако макросы запускаются во всех состояниях.
Объекты, использующие отсутствующее состояние (состояние удалено разработчиком), возвратятся в состояние по умолчанию, хотя в раскрывающемся списке Альтернативное состояние отобразится что-либо наподобие:
AlternateStateName <unavailable>.
Функции полей можно использовать только с аргументом Состояние вместе с альтернативными состояниями.
Переменные в альтернативных состояниях
Состояние, используемое при расширении переменной, можно определить. Изменения в определенном состоянии не влияют на значения переменной, расширенные в другом состоянии. Если состояние не указано, переменная будет расширена в состоянии по умолчанию.
Пример:
Если имеется состояние MyState и переменная vMyVar:
- $(vMyVar) расширяет переменную в состоянии по умолчанию.
- $({MyState} vMyVar) расширяет переменную в состоянии MyState.